package cn.com.yang.algorithm.v1;

/**
 *@className SM2Utils
 *@Author 小米电脑
 *@Date 2022/4/7 20:49
 *@Vertion 1.0.0
 */

public class SM2Util {
    public static final String PUBLIC_KEY = "你的公钥1";
    public static final String PUBLIC_KEY_2 = "你的公钥2";

//    public static String encrypt(String key, String mes) {
//        byte[] arg9 = mes.getBytes();
//        byte[] arg8 = SM1Util.hexToByte(key);
//        String v0 = null;
//        if(arg8 != null) {
//            if(arg8.length == 0) {
//            }
//            else {
//                if(arg9 != null) {
//                    if(arg9.length == 0) {
//                    }
//                    else {
//                        byte[] v0_1 = new byte[arg9.length];
//                        System.arraycopy(arg9, 0, v0_1, 0, arg9.length);
//                        Cipher v1 = new Cipher();
//                        SM2 v2 = SM2.Instance();
//                        ECPoint v4 = v1.Init_enc(v2, v2.ecc_curve.decodePoint(arg8));
//                        v1.Encrypt(v0_1);
//                        byte[] v5 = new byte[32];
//                        v1.Dofinal(v5);
//                        return SM1Util.byteToHex(v4.getEncoded()) + SM1Util.byteToHex(v5) + SM1Util.byteToHex(v0_1);
//                    }
//                }
//                return v0;
//            }
//        }
//        return v0;
//    }
//
//    public static String decrypt(String key, String mes) throws IOException {
//        byte[] arg9 = SM1Util.hexToByte(key);
//        byte[] arg10 = SM1Util.hexToByte(mes);
//        byte[] v0 = null;
//        if(arg9 != null) {
//            if(arg9.length == 0) {
//            }
//            else {
//                if(arg10 != null) {
//                    if(arg10.length == 0) {
//                    }
//                    else {
//                        String v0_1 = SM1Util.byteToHex(arg10);
//                        byte[] v1 = SM1Util.hexToByte(v0_1.substring(0, 130));
//                        int v3 = arg10.length - 97;
//                        byte[] v2 = SM1Util.hexToByte(v0_1.substring(130, 194));
//                        byte[] v4 = SM1Util.hexToByte(v0_1.substring(194, v3 * 2 + 194));
//                        SM2 v5 = SM2.Instance();
//                        BigInteger v6 = new BigInteger(1, arg9);
//                        ECPoint v7 = v5.ecc_curve.decodePoint(v1);
//                        Cipher v8 = new Cipher();
//                        v8.Init_dec(v6, v7);
//                        v8.Decrypt(v4);
//                        v8.Dofinal(v2);
//                        return new String(v4);
//                    }
//                }
//
//                return new String(v0);
//            }
//        }
//        return new String(v0);
//    }
//
//    public static SM2KeyVO generateKeyPair() {
//        AsymmetricCipherKeyPair v1;
//        SM2 v0 = SM2.Instance();
//        while(true) {
//            v1 = v0.ecc_key_pair_generator.generateKeyPair();
//            if(v1.getPrivate().getD().toByteArray().length == 32) {
//                break;
//            }
//        }
//
//        AsymmetricKeyParameter v2 = v1.getPrivate();
//        AsymmetricKeyParameter v3 = v1.getPublic();
//        BigInteger v4 = ((ECPrivateKeyParameters)v2).getD();
//        ECPoint v5 = ((ECPublicKeyParameters)v3).getQ();
//        SM2KeyVO v6 = new SM2KeyVO();
//        v6.setPublicKey(v5);
//        v6.setPrivateKey(v4);
//        return v6;
//    }

}
